package Negocio;

import java.sql.Date;
import java.text.DateFormat;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import util.xml.XmlUtil;

/*
 * Esta clase se encarga de parsear el xml de una lista de precios
 */
public class ListaPreciosCPRXMLParser {

	private String strxml;
	private String tipolista;
	private Date fechadesde;
	private Date fechahasta;
	private NodeList items;
	private Element next;
	private int index=0;
	
	public ListaPreciosCPRXMLParser(String xml)
	{
		this.strxml=xml;
		
		parsear();
		
	}
	
	private void parsear()
	{
		Document doc = XmlUtil.stringToXml(strxml);
		Element lista = doc.getDocumentElement();
		tipolista = lista.getAttribute("tipolista");
		fechadesde = Date.valueOf(lista.getAttribute("fechadesde"));
		fechahasta = Date.valueOf(lista.getAttribute("fechahasta"));
		items = lista.getElementsByTagName("ItemListaPrecio");
		index=0;
		if(hasNext())next();
	}
	
	public String getTipo(){
		return tipolista;
	}
	public Date getFechaDesde(){ 
		return fechadesde;
	}
	
	public String getCodigoProveedor(){
		return next.getAttribute("codigo");
	}
	public String getCodRodamiento(){
		return next.getAttribute("rod_cod");
	}
	
	public boolean hasNext()
	{
		return (index<items.getLength());
	}

	public Date getFechaHasta() {
		return fechahasta;
	}
	

	public void next() {
		next=(Element)items.item(index);
		index++;
		
	}

	public float getPrecioCompra() {
		return new Float(next.getAttribute("precio"));
	}

	public String getTipoRod() {
		return next.getAttribute("rod_tipo");
	}

	public String getOrigen() {
		return next.getAttribute("rod_origen");
	}

	public String getMarca() {
		return next.getAttribute("rod_marca");
	}
	
}
